package com.micro.modual.extension;

import com.micro.common.MicroConstant;
import com.micro.common.biz.GeneratorCodeUtil;
import com.micro.common.util.SnowFlakeUtil;
import com.micro.modual.entity.UserAccount;
import com.micro.modual.model.bo.useraccount.UserAccountBO;

/**
 * <h1>用户账户表 延展类</h1>
 * @author LevelCoder
 * @version V1.0.0
 * @email LevelCoder@126.com
 * @date 2020-08-04 00:23:26
 */
public class UserAccountExtension {

    /**
     * <h2>转换: 用户账户表 新增</h2>
     * @param userAccountBO {@link UserAccountBO} 用户账户表 新增/修改 请求对象
     * @return {@link UserAccount} 用户账户表
     */
    public static UserAccount converAddUserAccount(UserAccountBO userAccountBO) {
        UserAccount userAccount = new UserAccount();
        userAccount.setId(SnowFlakeUtil.getId());
                                                            userAccount.setAccountNo(userAccountBO.getAccountNo());
                                                    userAccount.setUserCode(userAccountBO.getUserCode());
                                                    userAccount.setAccountType(userAccountBO.getAccountType());
                                                    userAccount.setAccountBalance(userAccountBO.getAccountBalance());
                                                    userAccount.setFreezeBalance(userAccountBO.getFreezeBalance());
                                                    userAccount.setUsableBalance(userAccountBO.getUsableBalance());
                                                    userAccount.setAccountStatus(userAccountBO.getAccountStatus());
                                                    userAccount.setCreateTime(userAccountBO.getCreateTime());
                                                    userAccount.setUpdateTime(userAccountBO.getUpdateTime());
                            return userAccount;
    }

    /**
     * <h2>转换: 用户账户表 修改</h2>
     * @param userAccountBO {@link UserAccountBO} 用户账户表 新增/修改 请求对象
     * @return {@link UserAccount} 用户账户表
     */
    public static UserAccount converEditUserAccount(UserAccountBO userAccountBO) {
        UserAccount userAccount = new UserAccount();
        userAccount.setId(userAccountBO.getId());
                                                        userAccount.setAccountNo(userAccountBO.getAccountNo());
                                                userAccount.setUserCode(userAccountBO.getUserCode());
                                                userAccount.setAccountType(userAccountBO.getAccountType());
                                                userAccount.setAccountBalance(userAccountBO.getAccountBalance());
                                                userAccount.setFreezeBalance(userAccountBO.getFreezeBalance());
                                                userAccount.setUsableBalance(userAccountBO.getUsableBalance());
                                                userAccount.setAccountStatus(userAccountBO.getAccountStatus());
                                                userAccount.setCreateTime(userAccountBO.getCreateTime());
                                                userAccount.setUpdateTime(userAccountBO.getUpdateTime());
                            return userAccount;
    }
}
